﻿using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace S.Authorization.Domain.Model.User
{
    /// <summary>
    /// 工作经历
    /// </summary>
    [Table("WorkExperience")]
    public class WorkExperience
    {
        [Key]
        ///主键
        public int WorkExperienceId { get; set; }

        /// <summary>
        /// 用户主键
        /// </summary>
        public int UserId { get; set; }

        /// <summary>
        /// 开始工作时间
        /// </summary>
        public DateTime? WorkingTimeStart { get; set; }

        /// <summary>
        /// 结束工作时间
        /// </summary>
        public DateTime? WorkingTimeEnd { get; set; }

        /// <summary>
        /// 工作单位
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? WorkUnit { get; set; }

        /// <summary>
        /// 任职部门
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string Department { get; set; }

        /// <summary>
        /// 任职职位
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string Position { get; set; }

        /// <summary>
        /// 工作内容
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string WorkContent { get; set; }

        /// <summary>
        /// 离职原因
        /// </summary>
        [Column(TypeName = "nvarchar(200)")]
        [MaxLength(200)]
        public string ReasonForResignation { get; set; }
    }
}
